﻿using System;

namespace Aeon.Framework
{

/// <summary>
/// Interface for Texture binding objects.
/// 
/// </summary>
public interface ITexture
    {
    String Name { get; set; }               // Image path and texture indentifier.
    TextureCore Core { get; set; }          // Actual texture data.
    
    void Bind();                            // Binds texture to active context.

    TextureChanged Observer { get; set; }   // Event announcer for internal texture changes.
    }

/// <summary>
/// Event for internal texture changes.
/// 
/// </summary>
public delegate void TextureChanged(ITexture sender);

}